1. Field of the Invention
This invention relates in general to a packet based policing method and apparatus, and more particularly to a policing method and apparatus that increases the throughput of a network by avoiding the waste of resources.
2. Description of Related Art
Cell relay refers to any data communications technology that is based on transmission of small, fixed-length data units called cells. Cells are made up of a header field, containing address information, and an information field, carrying user data. With cell relay, a cell converter takes the constant-bit-rate streams of voice and video devices and the variable-bit-rate streams of data devices and converts them into cells. These cells are then routed across a cell relay network to multiple destinations, based on the address information in the headers. At each destination, other cell converters recreate the bit streams and deliver them to the user devices. With cell relay, separate applications can be consolidated onto a single, higher speed network, thereby improving overall price/performance. Furthermore, because a cell relay network is based on switching fixed-length data units, it is possible to build high performance switching fabrics supporting burst rates of hundreds of megabits per second.
Asynchronous Transfer Mode (ATM) is just one example of a cell-based switching and multiplexing technology. ATM is designed to be a general-purpose, connection-oriented transfer mode for a wide range of services. Today, ATM is being used on local area networks (LANs), metropolitan area networks (MANs) and wide area networks (WANs). As a result, ATM is rapidly becoming the premier protocol for many communication and networking applications. With ATM installed on LANs, MANs and WANs, all types of voice, data and video traffic can operate together seamlessly. No other protocol offers this seamless integration of information, making ATM a catalyst for technological advances in telecommunications, multimedia and other markets.
ATM handles both connection-oriented traffic and connectionless traffic through the use of adaptation layers. Typically, ATM virtual connections operate at either a Constant Bit Rate (CBR) or a Variable Bit Rate (VBR). Each ATM cell sent into the network contains addressing information that establishes a virtual connection from origination to destination. All cells are then transferred, in sequence, over this virtual connection. ATM provides either Permanent or Switched Virtual Circuits (PVCs or SVCs). ATM is asynchronous because the transmitted cells need not be periodic as time slots of data as in Synchronous Transfer Mode (STM).
ATM offers the potential to standardize on one network architecture, which defines the multiplexing and switching method. ATM also supports multiple Quality of Service (QoS) classes for differing application requirements on delay and loss performance. Thus, the vision of ATM is that an entire network can be constructed using ATM and ATM Application Layer (AAL) switching and multiplexing principles to support a wide range of all services, such as:
Voice PA1 Packet data (Switched MultiMegabit Data Service (SMDS), Internet Protocol (IP), Frame Relay (FR) PA1 Video PA1 Imaging PA1 Circuit emulation
ATM also provides bandwidth-on-demand through the use of SVCs, and also supports LAN-like access to available bandwidth.
ATM standards define a fixed-size cell with a length of 53 octets (or bytes) comprised of a 5-octet header and a 48-octet payload. With a relatively small cell size, ATM is a compromise between the long frames generated in data communications and the short, repetitive transmissions required for voice communications, video transmission and other isochronous data transmission.
The bits in the cells are transmitted over the transmission path in a continuous stream. Cells are mapped into a physical transmission path, such as the North American Digital Signal Level 1 (DS1), DS3, or SONET; International Telecommunications Union--Telecommunications standardization sector (ITU-T) SDH standards; and various other local fiber and electrical transmission payloads.
All information is switched and multiplexed in an ATM network using these fixed-length cells. The cell header identifies the destination, cell type, and priority. The fixed cell size simplifies the implementation of ATM switches and multiplexers while providing very high speeds.
When using ATM, longer packets cannot delay shorter packets as in other switched implementations because long packets are chopped up into many cells. This enables ATM to carry Constant Bit Rate (CBR) traffic such as voice and video in conjunction with Variable Bit-Rate (VBR) data traffic, potentially having very long packets within the same network.
Three major concepts in ATM are: the transmission path, the Virtual Path (VP), and, optionally, the Virtual Channel (VC). These form the basic building blocks of ATM. A physical transmission path contains one or more virtual paths (VPs), while each virtual path contains one or more Virtual Channels (VCs). Thus, multiple virtual channels can be trunked on a single virtual path. Switching can be performed on either a transmission path, virtual path, or virtual circuit (i.e., channel) level.
This capability to switch down to a virtual channel level is similar to the operation of a Private or Public Branch Exchange (PBX) or telephone switch in the telephone world. In the PBX/switch, each channel within a trunk group (path) can be switched. Devices which perform VC connections are commonly called VC switches because of this analogy with telephone switches. Transmission networks use a cross-connect, which is basically a space division switch, or effectively an electronic patch panel. ATM devices which connect VPs are commonly called VP cross-connects by analogy with the transmission network.
At the ATM layer, users are provided a choice of either a Virtual Path Connection (VPC) or a Virtual Channel Connection (VCC). VPCs are switched based upon the Virtual Path Identifier (VPI) value only. The users of the VPC may assign the VCCs within that VPI transparently since they follow the same route. VCCs are switched upon the combined VPI and Virtual Channel Identifier (VCI) value.
Both VPIs and VCIs are used to route cells through the network. It should be noted that VPI and VCI values must be unique on a specific transmission path (TP). Thus, each transmission path between two network devices (such as ATM switches) uses VPIs and VCIs independently.
ATM is a scaleable standard that does not specify requirements for transmission rates, framing and physical layers. Rather, ATM switching and ATM networks refer only to the handling of cells. ATM does not dictate the content of information carried in cells. Accordingly, broadband networks must develop guarantees on bandwidth, delay and jitter to support a wide variety of ATM applications.
As mentioned earlier, the ATM Adaptation Layer (AAL) is used to assemble and reassemble packets into/from cells. For this purpose, four standards, AAL-1 through AAL-4, were initially defined to directly map to AAL service classes A through D. Class A is designated for constant bit-rate (CBR) service. Class B is for variable bit-rate (VBR) service with end-to-end timing, and is connection-oriented. Class C is for variable bit-rate (VBR) service with no timing required, and is connection-oriented. Finally, Class D is for variable bit-rate (VBR) service with no timing required, and supports connectionless topologies.
ALL-5 was conceived by the computer industry in response to perceived complexity and implementation difficulties in the AAL-3/4. While the AAL-3/4 provides a rich set of services, it does so at the expense of additional protocol overhead and processing. However, AAL-3/4 supports the multiplexing of the traffic originating from the multiple sessions or connections onto the same ATM virtual channel connection. Multiplexing capability requires the use of four bytes of each ATM cell for supporting the overhead information required for data encapsulation. Accordingly, AAL-3/4 is not widely used because of this extra overhead.
Based on ATM Forum standards, traffic policing is used by network operators to ensure that customer ATM cell-traffic levels do not exceed the bandwidth agreed on in Quality of Service (QoS) contracts. As ATM traffic continues to grow, traffic policing becomes increasingly important. Given that a switch at the edge of the network has accepted a virtual circuit request, a switch must ensure that the customer equipment keeps its promises. The policing function in some way estimates the parameters of the incoming traffic and takes some action if they measure traffic exceeding agreed parameters. This action could be to drop the cells, mark them as being low cell-loss priority, etc.
In the current ATM standards, the policing function has been defined to protect the network from the sources which do not conform to the behavior of their respective traffic contract established using some signaling method. Currently defined traffic policing mechanisms work by discarding individual ATM cells from the incoming ATM virtual channel connections. However, the problem with the current method is that in case of the traffic being data traffic, the discarding of even a single cell belonging to an AAL-5 packet effectively makes the rest of the packet unusable, and will cause packet discard on the receiving ATM connection endpoint. The cells, which are left for transmission are thus unnecessarily carried through the network wasting network resources.
It can be seen that there is a need for a packet policing method that avoids the waste of resources as a result of traffic having non-conforming behavior characteristics.
It can also be seen that there is a need for a policing method that increases the throughput of a network.